package com.runvp.service.biz.service.impl;

import java.util.List;
import com.runvp.common.utils.DateUtils;
import com.runvp.common.utils.validtion.CheckException;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.runvp.service.biz.mapper.BizAppVersionMapper;
import com.runvp.service.biz.domain.BizAppVersion;
import com.runvp.service.biz.service.IBizAppVersionService;
import com.runvp.common.core.text.Convert;

/**
 * APP版本Service业务层处理
 * 
 * @author runvp
 * @date 2023-03-20
 */
@Service
public class BizAppVersionServiceImpl implements IBizAppVersionService {
    @Autowired
    private BizAppVersionMapper bizAppVersionMapper;

    /**
     * 查询APP版本
     * 
     * @param id APP版本主键
     * @return APP版本
     */
    @Override
    public BizAppVersion selectBizAppVersionById(Long id) {
        return bizAppVersionMapper.selectBizAppVersionById(id);
    }
    /**
     * 查询APP版本
     *
     * @param v 当前版本号
     * @return APP版本
     */
    @Override
    public BizAppVersion check(String v){
        CheckException.strEmptyThrowException(v,"当前版本号为空");
        //查询最新版本号
        BizAppVersion version = bizAppVersionMapper.getNewVersion();
        if(null == version){
            return null;
        }
        //判断是否与当前版本相同
        if(!v.equals(version.getVersion())){
            //如果不相同则设置可更新标识
            version.setUpdatable(true);
            return version;
        }
        return version;
    }
    /**
     * 查询APP版本列表
     * 
     * @param bizAppVersion APP版本
     * @return APP版本
     */
    @Override
    public List<BizAppVersion> selectBizAppVersionList(BizAppVersion bizAppVersion) {
        return bizAppVersionMapper.selectBizAppVersionList(bizAppVersion);
    }

    /**
     * 新增APP版本
     * 
     * @param bizAppVersion APP版本
     * @return 结果
     */
    @Override
    public int insertBizAppVersion(BizAppVersion bizAppVersion) {
        bizAppVersion.setCreateTime(DateUtils.getNowDate());
        return bizAppVersionMapper.insertBizAppVersion(bizAppVersion);
    }

    /**
     * 修改APP版本
     * 
     * @param bizAppVersion APP版本
     * @return 结果
     */
    @Override
    public int updateBizAppVersion(BizAppVersion bizAppVersion) {
        bizAppVersion.setUpdateTime(DateUtils.getNowDate());
        return bizAppVersionMapper.updateBizAppVersion(bizAppVersion);
    }

    /**
     * 批量删除APP版本
     * 
     * @param ids 需要删除的APP版本主键
     * @return 结果
     */
    @Override
    public int deleteBizAppVersionByIds(String ids) {
        return bizAppVersionMapper.deleteBizAppVersionByIds(Convert.toStrArray(ids));
    }

    /**
     * 删除APP版本信息
     * 
     * @param id APP版本主键
     * @return 结果
     */
    @Override
    public int deleteBizAppVersionById(Long id) {
        return bizAppVersionMapper.deleteBizAppVersionById(id);
    }
}
